class A:
    # a = 'a'
    pass

class B:
    a = 'b'
    pass

class C(A):
    # a = 'c'
    pass

class D(B):
    # a = 'd'
    pass

class E(C,D):
    # a = 'e'
    pass

print(E.a)


"""
多继承子类里面有这个变量，那么直接出数值
如果这个子类没有这个变量，会根据父类从左到右的导入顺序寻找
如果父类没有共同的交集父类，那么，会遵循深度优先
"""

import inspect
print(inspect.getmro(E))
"""
你可以通过getmro来找到某一个类的mro链（继承链）
(<class '__main__.E'>, <class '__main__.C'>, <class '__main__.A'>, <class '__main__.D'>, <class '__main__.B'>, <class 'object'>)
"""
